Add the PT9 interlinear converter - #240
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
cca2b26 to
910f25b
Compare
e86f828 to
ef87486
Compare
Convert the parsed PT9 file set into the extension's analysis layer as the second slice of the import pipeline: anchor clusters onto the tokenized text, merge word and parse facets per token and contributions across gloss languages, and report what converted alongside what was dropped and why. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
910f25b to
35a4664
Compare
|
Superseded by #272: the parsed-model adoption (paranext/paranext-core#2707) rewrote the converter to consume the platform's parsed payload and removed the extension's XML parsers, so the stack was rebuilt fresh rather than force-pushed over this history. |
Convert the parsed PT9 file set into the extension's analysis layer, the second
slice of the PT9 import pipeline. convertPt9Project is a pure function of the
parsed files, the source project's text, and a timestamp — nothing here calls
papi.
spellings in order, because PT9's stored offsets point into a different
string than our text.
and phrase records, marking approved only what PT9 approved.
into one, keeping genuine disagreements as separate competing records.
key glosses by.
extension; the stub it ships with links nothing yet.
spelling rather than any one occurrence, so they carry no links.
index.ts is the converter's public surface: convertPt9Project, its input and
output types, the resolver seam, and the report types. The types each stage
hands the next stay internal to the conversion.
Dropped clusters are counted by reason rather than lost silently, so the report
shows whether a more precise anchoring strategy is worth building. Record ids
derive from the token reference and spelling, so re-importing the same data
produces the same ids. Persistence and the import command follow in the next
slice.
🤖 Generated with Claude Code
This change is